package com.sojson.controller.po.param.verify;

import java.sql.SQLException;

import com.sojson.entity.po.Role;
import com.sojson.enums.core.EMenuCheckStrictly;
import com.sojson.enums.core.ERoleDataScope;
import com.sojson.result.Result;
import com.sojson.util.StringUtil;

/**
 * 角色表控制器参数验证
 * 
 * @author liu
 * @date 2021-03-16
 */
public class RoleParamVerify {

    /**
     * 单条插入
     * 
     * @param role
     * @return
     * @throws SQLException
     */
    public static Result<?> insert(Role role) {
        if (StringUtil.isBlank(role.getName())) {
            return Result.fail("角色名称不能为空！");
        }
        if (StringUtil.isBlank(role.getKey())) {
            return Result.fail("角色权限字符串不能为空！");
        }
        if (StringUtil.isBlank(role.getSortNum())) {
            role.setSortNum(100);
        }
        if (StringUtil.isBlank(role.getDataScope())) {
            role.setDataScope(ERoleDataScope.CUSTOMER.getCode());
        }
        if (StringUtil.isBlank(role.getMenuCheckStrictly())) {
            role.setMenuCheckStrictly(EMenuCheckStrictly.NO.getCode());
        }

        return Result.success();
    }

    /**
     * 通过id更新(局部更新)
     * 
     * @param role
     * @return
     * @throws SQLException
     */
    public static Result<?> updatePartialById(Role role) {
        if (StringUtil.isBlank(role.getId())) {
            return Result.fail("ID不能为空！");
        }

        return Result.success();
    }

}